// 全局请求封装
// const base_url = 'https://www.hongxindianjing.cn'
import baseUrl from '@/utils/basrUrl.js';
import {
	logOut
} from '@/utils/index.js';
export default (url, method, params = '') => {
	// 获取本地token
	const token = uni.getStorageSync('token');

	let header
	if (method == "post") {
		header['content-type'] = "application/json"
	}

	//判断进入页面的时候或者本地有没有token
	if (token) {
		// header['token'] = token
		header = {
			Authorization: token
		}
	}
	// uni.showLoading({
	// 	title: '加载中',
	// 	mask: true,
	// });

	// let key = generateRandomString(16); // 生成16位随机字符串
	// let encryptedKey = RSAencrypt(key); // 对字符串加密

	// let ciphertext = AESencrypt(key, params.data); //AES对data加密
	// params.data = ciphertext;
	// params.sign = encryptedKey;
	if (method == 'POST') {
		params.data = JSON.stringify(params.data)
		return new Promise((resolve, reject) => {
			uni.request({
				url: baseUrl + url,
				method: method,
				header: header,
				data: params,

				success(response) {
					// uni.hideLoading();
					const res = response
					// 根据返回的状态码做出对应的操作
					if (res.data.code == '200') {
						// let key = decrypt(res.data.sign) // RSA解密sign
						// res.data.data = JSON.parse(AESdecrypt(key, res.data.data))
						resolve(res.data);
					} else if (res.data.code == '2001') {
						resolve(res.data);
						uni.showToast({
							title: res.data.msg,
							icon: 'none',
							duration: 2000
						})
					} else if (res.data.code == '304') {
						logOut()
					} else {
						resolve(res.data);
					}
				},
				fail(err) {
					reject(err);
					// uni.hideLoading();
					logOut()
				},
				complete() {}
			});
		}).catch((e) => {});
	} else if (method == 'GET') {
		return new Promise((resolve, reject) => {
			uni.request({
				url: baseUrl + url,
				method: method,
				header: header,
				data: params,

				success(response) {
					uni.hideLoading();
					const res = response
					// 根据返回的状态码做出对应的操作
					if (res.data.code == '200') {
						// let key = decrypt(res.data.sign) // RSA解密sign
						// res.data.data = JSON.parse(AESdecrypt(key, res.data.data))
						resolve(res.data);
					} else if (res.data.code == '2001') {
						resolve(res.data);
						uni.showToast({
							title: res.data.msg,
							icon: 'none',
							duration: 2000
						})
					} else if (res.data.code == '304') {
						resolve(res.data);
						logOut()
					} else {
						resolve(res.data);
					}
				},
				fail(err) {
					reject(err);
					uni.hideLoading();
					logOut()
				},
				complete() {}
			});
		}).catch((e) => {});

	} else {
		uni.showToast({
			title: '接口方法错误',
			icon: 'none'
		})
	}
};